/*
输出所有「水仙花数」。
所谓「水仙花数」是指一个3位数，其各位数字立方和等于该数本身。
例如，153是水仙花数，因为 153 = 1^3 + 5^3 + 3^3
123/100=23 -> 1
123%10=3
123%100=23
23/10 = 2
*/
#include <stdio.h>
int main()
{
    int g, s, b;
    int num = 123;
    for (num = 100; num <= 999; num++)
    {
        b = num / 100;      // 百位数
        s = num % 100 / 10; // 十位数
        g = num % 10;       // 个位数
        // printf("百位数：%d，十位数：%d，个位数：%d\n", b, s, g);
        // 是否为水仙花数
        if (num == b * b * b + s * s * s + g * g * g)
        {
            printf("%d ", num);
        }
    }
    return 0;
}
/*
结果： 153 370 371 407
验证：
3*3*3 + 7*7*7 = 27 + 343 = 370
4*4*4 + 7*7*7 = 64 + 343 = 407
*/